/**
 * <copyright>
 * </copyright>
 *
 * $Id$
 */
package EA_Model.IEC61970.Generation.GenerationDynamics.impl;

import EA_Model.IEC61970.Domain.PU;
import EA_Model.IEC61970.Domain.Seconds;

import EA_Model.IEC61970.Generation.GenerationDynamics.BWRSteamSupply;
import EA_Model.IEC61970.Generation.GenerationDynamics.GenerationDynamicsPackage;

import org.eclipse.emf.common.notify.Notification;

import org.eclipse.emf.ecore.EClass;
import org.eclipse.emf.ecore.InternalEObject;

import org.eclipse.emf.ecore.impl.ENotificationImpl;

/**
 * <!-- begin-user-doc -->
 * An implementation of the model object '<em><b>BWR Steam Supply</b></em>'.
 * <!-- end-user-doc -->
 * <p>
 * The following features are implemented:
 * <ul>
 *   <li>{@link EA_Model.IEC61970.Generation.GenerationDynamics.impl.BWRSteamSupplyImpl#getHighPowerLimit <em>High Power Limit</em>}</li>
 *   <li>{@link EA_Model.IEC61970.Generation.GenerationDynamics.impl.BWRSteamSupplyImpl#getInCoreThermalTC <em>In Core Thermal TC</em>}</li>
 *   <li>{@link EA_Model.IEC61970.Generation.GenerationDynamics.impl.BWRSteamSupplyImpl#getIntegralGain <em>Integral Gain</em>}</li>
 *   <li>{@link EA_Model.IEC61970.Generation.GenerationDynamics.impl.BWRSteamSupplyImpl#getLowerLimit <em>Lower Limit</em>}</li>
 *   <li>{@link EA_Model.IEC61970.Generation.GenerationDynamics.impl.BWRSteamSupplyImpl#getLowPowerLimit <em>Low Power Limit</em>}</li>
 *   <li>{@link EA_Model.IEC61970.Generation.GenerationDynamics.impl.BWRSteamSupplyImpl#getPressureLimit <em>Pressure Limit</em>}</li>
 *   <li>{@link EA_Model.IEC61970.Generation.GenerationDynamics.impl.BWRSteamSupplyImpl#getPressureSetpointGA <em>Pressure Setpoint GA</em>}</li>
 *   <li>{@link EA_Model.IEC61970.Generation.GenerationDynamics.impl.BWRSteamSupplyImpl#getPressureSetpointTC1 <em>Pressure Setpoint TC1</em>}</li>
 *   <li>{@link EA_Model.IEC61970.Generation.GenerationDynamics.impl.BWRSteamSupplyImpl#getPressureSetpointTC2 <em>Pressure Setpoint TC2</em>}</li>
 *   <li>{@link EA_Model.IEC61970.Generation.GenerationDynamics.impl.BWRSteamSupplyImpl#getProportionalGain <em>Proportional Gain</em>}</li>
 *   <li>{@link EA_Model.IEC61970.Generation.GenerationDynamics.impl.BWRSteamSupplyImpl#getRfAux1 <em>Rf Aux1</em>}</li>
 *   <li>{@link EA_Model.IEC61970.Generation.GenerationDynamics.impl.BWRSteamSupplyImpl#getRfAux2 <em>Rf Aux2</em>}</li>
 *   <li>{@link EA_Model.IEC61970.Generation.GenerationDynamics.impl.BWRSteamSupplyImpl#getRfAux3 <em>Rf Aux3</em>}</li>
 *   <li>{@link EA_Model.IEC61970.Generation.GenerationDynamics.impl.BWRSteamSupplyImpl#getRfAux4 <em>Rf Aux4</em>}</li>
 *   <li>{@link EA_Model.IEC61970.Generation.GenerationDynamics.impl.BWRSteamSupplyImpl#getRfAux5 <em>Rf Aux5</em>}</li>
 *   <li>{@link EA_Model.IEC61970.Generation.GenerationDynamics.impl.BWRSteamSupplyImpl#getRfAux6 <em>Rf Aux6</em>}</li>
 *   <li>{@link EA_Model.IEC61970.Generation.GenerationDynamics.impl.BWRSteamSupplyImpl#getRfAux7 <em>Rf Aux7</em>}</li>
 *   <li>{@link EA_Model.IEC61970.Generation.GenerationDynamics.impl.BWRSteamSupplyImpl#getRfAux8 <em>Rf Aux8</em>}</li>
 *   <li>{@link EA_Model.IEC61970.Generation.GenerationDynamics.impl.BWRSteamSupplyImpl#getRodPattern <em>Rod Pattern</em>}</li>
 *   <li>{@link EA_Model.IEC61970.Generation.GenerationDynamics.impl.BWRSteamSupplyImpl#getRodPatternConstant <em>Rod Pattern Constant</em>}</li>
 *   <li>{@link EA_Model.IEC61970.Generation.GenerationDynamics.impl.BWRSteamSupplyImpl#getUpperLimit <em>Upper Limit</em>}</li>
 * </ul>
 * </p>
 *
 * @generated
 */
public class BWRSteamSupplyImpl extends SteamSupplyImpl implements BWRSteamSupply {
	/**
	 * The cached value of the '{@link #getHighPowerLimit() <em>High Power Limit</em>}' reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #getHighPowerLimit()
	 * @generated
	 * @ordered
	 */
	protected PU highPowerLimit;

	/**
	 * The cached value of the '{@link #getInCoreThermalTC() <em>In Core Thermal TC</em>}' reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #getInCoreThermalTC()
	 * @generated
	 * @ordered
	 */
	protected Seconds inCoreThermalTC;

	/**
	 * The cached value of the '{@link #getIntegralGain() <em>Integral Gain</em>}' reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #getIntegralGain()
	 * @generated
	 * @ordered
	 */
	protected EA_Model.IEC61970.Domain.Float integralGain;

	/**
	 * The cached value of the '{@link #getLowerLimit() <em>Lower Limit</em>}' reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #getLowerLimit()
	 * @generated
	 * @ordered
	 */
	protected PU lowerLimit;

	/**
	 * The cached value of the '{@link #getLowPowerLimit() <em>Low Power Limit</em>}' reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #getLowPowerLimit()
	 * @generated
	 * @ordered
	 */
	protected PU lowPowerLimit;

	/**
	 * The cached value of the '{@link #getPressureLimit() <em>Pressure Limit</em>}' reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #getPressureLimit()
	 * @generated
	 * @ordered
	 */
	protected PU pressureLimit;

	/**
	 * The cached value of the '{@link #getPressureSetpointGA() <em>Pressure Setpoint GA</em>}' reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #getPressureSetpointGA()
	 * @generated
	 * @ordered
	 */
	protected EA_Model.IEC61970.Domain.Float pressureSetpointGA;

	/**
	 * The cached value of the '{@link #getPressureSetpointTC1() <em>Pressure Setpoint TC1</em>}' reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #getPressureSetpointTC1()
	 * @generated
	 * @ordered
	 */
	protected Seconds pressureSetpointTC1;

	/**
	 * The cached value of the '{@link #getPressureSetpointTC2() <em>Pressure Setpoint TC2</em>}' reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #getPressureSetpointTC2()
	 * @generated
	 * @ordered
	 */
	protected Seconds pressureSetpointTC2;

	/**
	 * The cached value of the '{@link #getProportionalGain() <em>Proportional Gain</em>}' reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #getProportionalGain()
	 * @generated
	 * @ordered
	 */
	protected EA_Model.IEC61970.Domain.Float proportionalGain;

	/**
	 * The cached value of the '{@link #getRfAux1() <em>Rf Aux1</em>}' reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #getRfAux1()
	 * @generated
	 * @ordered
	 */
	protected PU rfAux1;

	/**
	 * The cached value of the '{@link #getRfAux2() <em>Rf Aux2</em>}' reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #getRfAux2()
	 * @generated
	 * @ordered
	 */
	protected PU rfAux2;

	/**
	 * The cached value of the '{@link #getRfAux3() <em>Rf Aux3</em>}' reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #getRfAux3()
	 * @generated
	 * @ordered
	 */
	protected PU rfAux3;

	/**
	 * The cached value of the '{@link #getRfAux4() <em>Rf Aux4</em>}' reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #getRfAux4()
	 * @generated
	 * @ordered
	 */
	protected PU rfAux4;

	/**
	 * The cached value of the '{@link #getRfAux5() <em>Rf Aux5</em>}' reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #getRfAux5()
	 * @generated
	 * @ordered
	 */
	protected PU rfAux5;

	/**
	 * The cached value of the '{@link #getRfAux6() <em>Rf Aux6</em>}' reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #getRfAux6()
	 * @generated
	 * @ordered
	 */
	protected PU rfAux6;

	/**
	 * The cached value of the '{@link #getRfAux7() <em>Rf Aux7</em>}' reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #getRfAux7()
	 * @generated
	 * @ordered
	 */
	protected PU rfAux7;

	/**
	 * The cached value of the '{@link #getRfAux8() <em>Rf Aux8</em>}' reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #getRfAux8()
	 * @generated
	 * @ordered
	 */
	protected PU rfAux8;

	/**
	 * The cached value of the '{@link #getRodPattern() <em>Rod Pattern</em>}' reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #getRodPattern()
	 * @generated
	 * @ordered
	 */
	protected PU rodPattern;

	/**
	 * The cached value of the '{@link #getRodPatternConstant() <em>Rod Pattern Constant</em>}' reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #getRodPatternConstant()
	 * @generated
	 * @ordered
	 */
	protected EA_Model.IEC61970.Domain.Float rodPatternConstant;

	/**
	 * The cached value of the '{@link #getUpperLimit() <em>Upper Limit</em>}' reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #getUpperLimit()
	 * @generated
	 * @ordered
	 */
	protected PU upperLimit;

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected BWRSteamSupplyImpl() {
		super();
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	protected EClass eStaticClass() {
		return GenerationDynamicsPackage.Literals.BWR_STEAM_SUPPLY;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public PU getHighPowerLimit() {
		if (highPowerLimit != null && highPowerLimit.eIsProxy()) {
			InternalEObject oldHighPowerLimit = (InternalEObject)highPowerLimit;
			highPowerLimit = (PU)eResolveProxy(oldHighPowerLimit);
			if (highPowerLimit != oldHighPowerLimit) {
				if (eNotificationRequired())
					eNotify(new ENotificationImpl(this, Notification.RESOLVE, GenerationDynamicsPackage.BWR_STEAM_SUPPLY__HIGH_POWER_LIMIT, oldHighPowerLimit, highPowerLimit));
			}
		}
		return highPowerLimit;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public PU basicGetHighPowerLimit() {
		return highPowerLimit;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public void setHighPowerLimit(PU newHighPowerLimit) {
		PU oldHighPowerLimit = highPowerLimit;
		highPowerLimit = newHighPowerLimit;
		if (eNotificationRequired())
			eNotify(new ENotificationImpl(this, Notification.SET, GenerationDynamicsPackage.BWR_STEAM_SUPPLY__HIGH_POWER_LIMIT, oldHighPowerLimit, highPowerLimit));
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public Seconds getInCoreThermalTC() {
		if (inCoreThermalTC != null && inCoreThermalTC.eIsProxy()) {
			InternalEObject oldInCoreThermalTC = (InternalEObject)inCoreThermalTC;
			inCoreThermalTC = (Seconds)eResolveProxy(oldInCoreThermalTC);
			if (inCoreThermalTC != oldInCoreThermalTC) {
				if (eNotificationRequired())
					eNotify(new ENotificationImpl(this, Notification.RESOLVE, GenerationDynamicsPackage.BWR_STEAM_SUPPLY__IN_CORE_THERMAL_TC, oldInCoreThermalTC, inCoreThermalTC));
			}
		}
		return inCoreThermalTC;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public Seconds basicGetInCoreThermalTC() {
		return inCoreThermalTC;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public void setInCoreThermalTC(Seconds newInCoreThermalTC) {
		Seconds oldInCoreThermalTC = inCoreThermalTC;
		inCoreThermalTC = newInCoreThermalTC;
		if (eNotificationRequired())
			eNotify(new ENotificationImpl(this, Notification.SET, GenerationDynamicsPackage.BWR_STEAM_SUPPLY__IN_CORE_THERMAL_TC, oldInCoreThermalTC, inCoreThermalTC));
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EA_Model.IEC61970.Domain.Float getIntegralGain() {
		if (integralGain != null && integralGain.eIsProxy()) {
			InternalEObject oldIntegralGain = (InternalEObject)integralGain;
			integralGain = (EA_Model.IEC61970.Domain.Float)eResolveProxy(oldIntegralGain);
			if (integralGain != oldIntegralGain) {
				if (eNotificationRequired())
					eNotify(new ENotificationImpl(this, Notification.RESOLVE, GenerationDynamicsPackage.BWR_STEAM_SUPPLY__INTEGRAL_GAIN, oldIntegralGain, integralGain));
			}
		}
		return integralGain;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EA_Model.IEC61970.Domain.Float basicGetIntegralGain() {
		return integralGain;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public void setIntegralGain(EA_Model.IEC61970.Domain.Float newIntegralGain) {
		EA_Model.IEC61970.Domain.Float oldIntegralGain = integralGain;
		integralGain = newIntegralGain;
		if (eNotificationRequired())
			eNotify(new ENotificationImpl(this, Notification.SET, GenerationDynamicsPackage.BWR_STEAM_SUPPLY__INTEGRAL_GAIN, oldIntegralGain, integralGain));
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public PU getLowerLimit() {
		if (lowerLimit != null && lowerLimit.eIsProxy()) {
			InternalEObject oldLowerLimit = (InternalEObject)lowerLimit;
			lowerLimit = (PU)eResolveProxy(oldLowerLimit);
			if (lowerLimit != oldLowerLimit) {
				if (eNotificationRequired())
					eNotify(new ENotificationImpl(this, Notification.RESOLVE, GenerationDynamicsPackage.BWR_STEAM_SUPPLY__LOWER_LIMIT, oldLowerLimit, lowerLimit));
			}
		}
		return lowerLimit;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public PU basicGetLowerLimit() {
		return lowerLimit;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public void setLowerLimit(PU newLowerLimit) {
		PU oldLowerLimit = lowerLimit;
		lowerLimit = newLowerLimit;
		if (eNotificationRequired())
			eNotify(new ENotificationImpl(this, Notification.SET, GenerationDynamicsPackage.BWR_STEAM_SUPPLY__LOWER_LIMIT, oldLowerLimit, lowerLimit));
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public PU getLowPowerLimit() {
		if (lowPowerLimit != null && lowPowerLimit.eIsProxy()) {
			InternalEObject oldLowPowerLimit = (InternalEObject)lowPowerLimit;
			lowPowerLimit = (PU)eResolveProxy(oldLowPowerLimit);
			if (lowPowerLimit != oldLowPowerLimit) {
				if (eNotificationRequired())
					eNotify(new ENotificationImpl(this, Notification.RESOLVE, GenerationDynamicsPackage.BWR_STEAM_SUPPLY__LOW_POWER_LIMIT, oldLowPowerLimit, lowPowerLimit));
			}
		}
		return lowPowerLimit;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public PU basicGetLowPowerLimit() {
		return lowPowerLimit;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public void setLowPowerLimit(PU newLowPowerLimit) {
		PU oldLowPowerLimit = lowPowerLimit;
		lowPowerLimit = newLowPowerLimit;
		if (eNotificationRequired())
			eNotify(new ENotificationImpl(this, Notification.SET, GenerationDynamicsPackage.BWR_STEAM_SUPPLY__LOW_POWER_LIMIT, oldLowPowerLimit, lowPowerLimit));
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public PU getPressureLimit() {
		if (pressureLimit != null && pressureLimit.eIsProxy()) {
			InternalEObject oldPressureLimit = (InternalEObject)pressureLimit;
			pressureLimit = (PU)eResolveProxy(oldPressureLimit);
			if (pressureLimit != oldPressureLimit) {
				if (eNotificationRequired())
					eNotify(new ENotificationImpl(this, Notification.RESOLVE, GenerationDynamicsPackage.BWR_STEAM_SUPPLY__PRESSURE_LIMIT, oldPressureLimit, pressureLimit));
			}
		}
		return pressureLimit;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public PU basicGetPressureLimit() {
		return pressureLimit;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public void setPressureLimit(PU newPressureLimit) {
		PU oldPressureLimit = pressureLimit;
		pressureLimit = newPressureLimit;
		if (eNotificationRequired())
			eNotify(new ENotificationImpl(this, Notification.SET, GenerationDynamicsPackage.BWR_STEAM_SUPPLY__PRESSURE_LIMIT, oldPressureLimit, pressureLimit));
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EA_Model.IEC61970.Domain.Float getPressureSetpointGA() {
		if (pressureSetpointGA != null && pressureSetpointGA.eIsProxy()) {
			InternalEObject oldPressureSetpointGA = (InternalEObject)pressureSetpointGA;
			pressureSetpointGA = (EA_Model.IEC61970.Domain.Float)eResolveProxy(oldPressureSetpointGA);
			if (pressureSetpointGA != oldPressureSetpointGA) {
				if (eNotificationRequired())
					eNotify(new ENotificationImpl(this, Notification.RESOLVE, GenerationDynamicsPackage.BWR_STEAM_SUPPLY__PRESSURE_SETPOINT_GA, oldPressureSetpointGA, pressureSetpointGA));
			}
		}
		return pressureSetpointGA;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EA_Model.IEC61970.Domain.Float basicGetPressureSetpointGA() {
		return pressureSetpointGA;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public void setPressureSetpointGA(EA_Model.IEC61970.Domain.Float newPressureSetpointGA) {
		EA_Model.IEC61970.Domain.Float oldPressureSetpointGA = pressureSetpointGA;
		pressureSetpointGA = newPressureSetpointGA;
		if (eNotificationRequired())
			eNotify(new ENotificationImpl(this, Notification.SET, GenerationDynamicsPackage.BWR_STEAM_SUPPLY__PRESSURE_SETPOINT_GA, oldPressureSetpointGA, pressureSetpointGA));
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public Seconds getPressureSetpointTC1() {
		if (pressureSetpointTC1 != null && pressureSetpointTC1.eIsProxy()) {
			InternalEObject oldPressureSetpointTC1 = (InternalEObject)pressureSetpointTC1;
			pressureSetpointTC1 = (Seconds)eResolveProxy(oldPressureSetpointTC1);
			if (pressureSetpointTC1 != oldPressureSetpointTC1) {
				if (eNotificationRequired())
					eNotify(new ENotificationImpl(this, Notification.RESOLVE, GenerationDynamicsPackage.BWR_STEAM_SUPPLY__PRESSURE_SETPOINT_TC1, oldPressureSetpointTC1, pressureSetpointTC1));
			}
		}
		return pressureSetpointTC1;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public Seconds basicGetPressureSetpointTC1() {
		return pressureSetpointTC1;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public void setPressureSetpointTC1(Seconds newPressureSetpointTC1) {
		Seconds oldPressureSetpointTC1 = pressureSetpointTC1;
		pressureSetpointTC1 = newPressureSetpointTC1;
		if (eNotificationRequired())
			eNotify(new ENotificationImpl(this, Notification.SET, GenerationDynamicsPackage.BWR_STEAM_SUPPLY__PRESSURE_SETPOINT_TC1, oldPressureSetpointTC1, pressureSetpointTC1));
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public Seconds getPressureSetpointTC2() {
		if (pressureSetpointTC2 != null && pressureSetpointTC2.eIsProxy()) {
			InternalEObject oldPressureSetpointTC2 = (InternalEObject)pressureSetpointTC2;
			pressureSetpointTC2 = (Seconds)eResolveProxy(oldPressureSetpointTC2);
			if (pressureSetpointTC2 != oldPressureSetpointTC2) {
				if (eNotificationRequired())
					eNotify(new ENotificationImpl(this, Notification.RESOLVE, GenerationDynamicsPackage.BWR_STEAM_SUPPLY__PRESSURE_SETPOINT_TC2, oldPressureSetpointTC2, pressureSetpointTC2));
			}
		}
		return pressureSetpointTC2;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public Seconds basicGetPressureSetpointTC2() {
		return pressureSetpointTC2;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public void setPressureSetpointTC2(Seconds newPressureSetpointTC2) {
		Seconds oldPressureSetpointTC2 = pressureSetpointTC2;
		pressureSetpointTC2 = newPressureSetpointTC2;
		if (eNotificationRequired())
			eNotify(new ENotificationImpl(this, Notification.SET, GenerationDynamicsPackage.BWR_STEAM_SUPPLY__PRESSURE_SETPOINT_TC2, oldPressureSetpointTC2, pressureSetpointTC2));
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EA_Model.IEC61970.Domain.Float getProportionalGain() {
		if (proportionalGain != null && proportionalGain.eIsProxy()) {
			InternalEObject oldProportionalGain = (InternalEObject)proportionalGain;
			proportionalGain = (EA_Model.IEC61970.Domain.Float)eResolveProxy(oldProportionalGain);
			if (proportionalGain != oldProportionalGain) {
				if (eNotificationRequired())
					eNotify(new ENotificationImpl(this, Notification.RESOLVE, GenerationDynamicsPackage.BWR_STEAM_SUPPLY__PROPORTIONAL_GAIN, oldProportionalGain, proportionalGain));
			}
		}
		return proportionalGain;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EA_Model.IEC61970.Domain.Float basicGetProportionalGain() {
		return proportionalGain;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public void setProportionalGain(EA_Model.IEC61970.Domain.Float newProportionalGain) {
		EA_Model.IEC61970.Domain.Float oldProportionalGain = proportionalGain;
		proportionalGain = newProportionalGain;
		if (eNotificationRequired())
			eNotify(new ENotificationImpl(this, Notification.SET, GenerationDynamicsPackage.BWR_STEAM_SUPPLY__PROPORTIONAL_GAIN, oldProportionalGain, proportionalGain));
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public PU getRfAux1() {
		if (rfAux1 != null && rfAux1.eIsProxy()) {
			InternalEObject oldRfAux1 = (InternalEObject)rfAux1;
			rfAux1 = (PU)eResolveProxy(oldRfAux1);
			if (rfAux1 != oldRfAux1) {
				if (eNotificationRequired())
					eNotify(new ENotificationImpl(this, Notification.RESOLVE, GenerationDynamicsPackage.BWR_STEAM_SUPPLY__RF_AUX1, oldRfAux1, rfAux1));
			}
		}
		return rfAux1;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public PU basicGetRfAux1() {
		return rfAux1;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public void setRfAux1(PU newRfAux1) {
		PU oldRfAux1 = rfAux1;
		rfAux1 = newRfAux1;
		if (eNotificationRequired())
			eNotify(new ENotificationImpl(this, Notification.SET, GenerationDynamicsPackage.BWR_STEAM_SUPPLY__RF_AUX1, oldRfAux1, rfAux1));
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public PU getRfAux2() {
		if (rfAux2 != null && rfAux2.eIsProxy()) {
			InternalEObject oldRfAux2 = (InternalEObject)rfAux2;
			rfAux2 = (PU)eResolveProxy(oldRfAux2);
			if (rfAux2 != oldRfAux2) {
				if (eNotificationRequired())
					eNotify(new ENotificationImpl(this, Notification.RESOLVE, GenerationDynamicsPackage.BWR_STEAM_SUPPLY__RF_AUX2, oldRfAux2, rfAux2));
			}
		}
		return rfAux2;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public PU basicGetRfAux2() {
		return rfAux2;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public void setRfAux2(PU newRfAux2) {
		PU oldRfAux2 = rfAux2;
		rfAux2 = newRfAux2;
		if (eNotificationRequired())
			eNotify(new ENotificationImpl(this, Notification.SET, GenerationDynamicsPackage.BWR_STEAM_SUPPLY__RF_AUX2, oldRfAux2, rfAux2));
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public PU getRfAux3() {
		if (rfAux3 != null && rfAux3.eIsProxy()) {
			InternalEObject oldRfAux3 = (InternalEObject)rfAux3;
			rfAux3 = (PU)eResolveProxy(oldRfAux3);
			if (rfAux3 != oldRfAux3) {
				if (eNotificationRequired())
					eNotify(new ENotificationImpl(this, Notification.RESOLVE, GenerationDynamicsPackage.BWR_STEAM_SUPPLY__RF_AUX3, oldRfAux3, rfAux3));
			}
		}
		return rfAux3;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public PU basicGetRfAux3() {
		return rfAux3;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public void setRfAux3(PU newRfAux3) {
		PU oldRfAux3 = rfAux3;
		rfAux3 = newRfAux3;
		if (eNotificationRequired())
			eNotify(new ENotificationImpl(this, Notification.SET, GenerationDynamicsPackage.BWR_STEAM_SUPPLY__RF_AUX3, oldRfAux3, rfAux3));
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public PU getRfAux4() {
		if (rfAux4 != null && rfAux4.eIsProxy()) {
			InternalEObject oldRfAux4 = (InternalEObject)rfAux4;
			rfAux4 = (PU)eResolveProxy(oldRfAux4);
			if (rfAux4 != oldRfAux4) {
				if (eNotificationRequired())
					eNotify(new ENotificationImpl(this, Notification.RESOLVE, GenerationDynamicsPackage.BWR_STEAM_SUPPLY__RF_AUX4, oldRfAux4, rfAux4));
			}
		}
		return rfAux4;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public PU basicGetRfAux4() {
		return rfAux4;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public void setRfAux4(PU newRfAux4) {
		PU oldRfAux4 = rfAux4;
		rfAux4 = newRfAux4;
		if (eNotificationRequired())
			eNotify(new ENotificationImpl(this, Notification.SET, GenerationDynamicsPackage.BWR_STEAM_SUPPLY__RF_AUX4, oldRfAux4, rfAux4));
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public PU getRfAux5() {
		if (rfAux5 != null && rfAux5.eIsProxy()) {
			InternalEObject oldRfAux5 = (InternalEObject)rfAux5;
			rfAux5 = (PU)eResolveProxy(oldRfAux5);
			if (rfAux5 != oldRfAux5) {
				if (eNotificationRequired())
					eNotify(new ENotificationImpl(this, Notification.RESOLVE, GenerationDynamicsPackage.BWR_STEAM_SUPPLY__RF_AUX5, oldRfAux5, rfAux5));
			}
		}
		return rfAux5;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public PU basicGetRfAux5() {
		return rfAux5;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public void setRfAux5(PU newRfAux5) {
		PU oldRfAux5 = rfAux5;
		rfAux5 = newRfAux5;
		if (eNotificationRequired())
			eNotify(new ENotificationImpl(this, Notification.SET, GenerationDynamicsPackage.BWR_STEAM_SUPPLY__RF_AUX5, oldRfAux5, rfAux5));
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public PU getRfAux6() {
		if (rfAux6 != null && rfAux6.eIsProxy()) {
			InternalEObject oldRfAux6 = (InternalEObject)rfAux6;
			rfAux6 = (PU)eResolveProxy(oldRfAux6);
			if (rfAux6 != oldRfAux6) {
				if (eNotificationRequired())
					eNotify(new ENotificationImpl(this, Notification.RESOLVE, GenerationDynamicsPackage.BWR_STEAM_SUPPLY__RF_AUX6, oldRfAux6, rfAux6));
			}
		}
		return rfAux6;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public PU basicGetRfAux6() {
		return rfAux6;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public void setRfAux6(PU newRfAux6) {
		PU oldRfAux6 = rfAux6;
		rfAux6 = newRfAux6;
		if (eNotificationRequired())
			eNotify(new ENotificationImpl(this, Notification.SET, GenerationDynamicsPackage.BWR_STEAM_SUPPLY__RF_AUX6, oldRfAux6, rfAux6));
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public PU getRfAux7() {
		if (rfAux7 != null && rfAux7.eIsProxy()) {
			InternalEObject oldRfAux7 = (InternalEObject)rfAux7;
			rfAux7 = (PU)eResolveProxy(oldRfAux7);
			if (rfAux7 != oldRfAux7) {
				if (eNotificationRequired())
					eNotify(new ENotificationImpl(this, Notification.RESOLVE, GenerationDynamicsPackage.BWR_STEAM_SUPPLY__RF_AUX7, oldRfAux7, rfAux7));
			}
		}
		return rfAux7;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public PU basicGetRfAux7() {
		return rfAux7;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public void setRfAux7(PU newRfAux7) {
		PU oldRfAux7 = rfAux7;
		rfAux7 = newRfAux7;
		if (eNotificationRequired())
			eNotify(new ENotificationImpl(this, Notification.SET, GenerationDynamicsPackage.BWR_STEAM_SUPPLY__RF_AUX7, oldRfAux7, rfAux7));
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public PU getRfAux8() {
		if (rfAux8 != null && rfAux8.eIsProxy()) {
			InternalEObject oldRfAux8 = (InternalEObject)rfAux8;
			rfAux8 = (PU)eResolveProxy(oldRfAux8);
			if (rfAux8 != oldRfAux8) {
				if (eNotificationRequired())
					eNotify(new ENotificationImpl(this, Notification.RESOLVE, GenerationDynamicsPackage.BWR_STEAM_SUPPLY__RF_AUX8, oldRfAux8, rfAux8));
			}
		}
		return rfAux8;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public PU basicGetRfAux8() {
		return rfAux8;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public void setRfAux8(PU newRfAux8) {
		PU oldRfAux8 = rfAux8;
		rfAux8 = newRfAux8;
		if (eNotificationRequired())
			eNotify(new ENotificationImpl(this, Notification.SET, GenerationDynamicsPackage.BWR_STEAM_SUPPLY__RF_AUX8, oldRfAux8, rfAux8));
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public PU getRodPattern() {
		if (rodPattern != null && rodPattern.eIsProxy()) {
			InternalEObject oldRodPattern = (InternalEObject)rodPattern;
			rodPattern = (PU)eResolveProxy(oldRodPattern);
			if (rodPattern != oldRodPattern) {
				if (eNotificationRequired())
					eNotify(new ENotificationImpl(this, Notification.RESOLVE, GenerationDynamicsPackage.BWR_STEAM_SUPPLY__ROD_PATTERN, oldRodPattern, rodPattern));
			}
		}
		return rodPattern;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public PU basicGetRodPattern() {
		return rodPattern;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public void setRodPattern(PU newRodPattern) {
		PU oldRodPattern = rodPattern;
		rodPattern = newRodPattern;
		if (eNotificationRequired())
			eNotify(new ENotificationImpl(this, Notification.SET, GenerationDynamicsPackage.BWR_STEAM_SUPPLY__ROD_PATTERN, oldRodPattern, rodPattern));
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EA_Model.IEC61970.Domain.Float getRodPatternConstant() {
		if (rodPatternConstant != null && rodPatternConstant.eIsProxy()) {
			InternalEObject oldRodPatternConstant = (InternalEObject)rodPatternConstant;
			rodPatternConstant = (EA_Model.IEC61970.Domain.Float)eResolveProxy(oldRodPatternConstant);
			if (rodPatternConstant != oldRodPatternConstant) {
				if (eNotificationRequired())
					eNotify(new ENotificationImpl(this, Notification.RESOLVE, GenerationDynamicsPackage.BWR_STEAM_SUPPLY__ROD_PATTERN_CONSTANT, oldRodPatternConstant, rodPatternConstant));
			}
		}
		return rodPatternConstant;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EA_Model.IEC61970.Domain.Float basicGetRodPatternConstant() {
		return rodPatternConstant;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public void setRodPatternConstant(EA_Model.IEC61970.Domain.Float newRodPatternConstant) {
		EA_Model.IEC61970.Domain.Float oldRodPatternConstant = rodPatternConstant;
		rodPatternConstant = newRodPatternConstant;
		if (eNotificationRequired())
			eNotify(new ENotificationImpl(this, Notification.SET, GenerationDynamicsPackage.BWR_STEAM_SUPPLY__ROD_PATTERN_CONSTANT, oldRodPatternConstant, rodPatternConstant));
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public PU getUpperLimit() {
		if (upperLimit != null && upperLimit.eIsProxy()) {
			InternalEObject oldUpperLimit = (InternalEObject)upperLimit;
			upperLimit = (PU)eResolveProxy(oldUpperLimit);
			if (upperLimit != oldUpperLimit) {
				if (eNotificationRequired())
					eNotify(new ENotificationImpl(this, Notification.RESOLVE, GenerationDynamicsPackage.BWR_STEAM_SUPPLY__UPPER_LIMIT, oldUpperLimit, upperLimit));
			}
		}
		return upperLimit;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public PU basicGetUpperLimit() {
		return upperLimit;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public void setUpperLimit(PU newUpperLimit) {
		PU oldUpperLimit = upperLimit;
		upperLimit = newUpperLimit;
		if (eNotificationRequired())
			eNotify(new ENotificationImpl(this, Notification.SET, GenerationDynamicsPackage.BWR_STEAM_SUPPLY__UPPER_LIMIT, oldUpperLimit, upperLimit));
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Object eGet(int featureID, boolean resolve, boolean coreType) {
		switch (featureID) {
			case GenerationDynamicsPackage.BWR_STEAM_SUPPLY__HIGH_POWER_LIMIT:
				if (resolve) return getHighPowerLimit();
				return basicGetHighPowerLimit();
			case GenerationDynamicsPackage.BWR_STEAM_SUPPLY__IN_CORE_THERMAL_TC:
				if (resolve) return getInCoreThermalTC();
				return basicGetInCoreThermalTC();
			case GenerationDynamicsPackage.BWR_STEAM_SUPPLY__INTEGRAL_GAIN:
				if (resolve) return getIntegralGain();
				return basicGetIntegralGain();
			case GenerationDynamicsPackage.BWR_STEAM_SUPPLY__LOWER_LIMIT:
				if (resolve) return getLowerLimit();
				return basicGetLowerLimit();
			case GenerationDynamicsPackage.BWR_STEAM_SUPPLY__LOW_POWER_LIMIT:
				if (resolve) return getLowPowerLimit();
				return basicGetLowPowerLimit();
			case GenerationDynamicsPackage.BWR_STEAM_SUPPLY__PRESSURE_LIMIT:
				if (resolve) return getPressureLimit();
				return basicGetPressureLimit();
			case GenerationDynamicsPackage.BWR_STEAM_SUPPLY__PRESSURE_SETPOINT_GA:
				if (resolve) return getPressureSetpointGA();
				return basicGetPressureSetpointGA();
			case GenerationDynamicsPackage.BWR_STEAM_SUPPLY__PRESSURE_SETPOINT_TC1:
				if (resolve) return getPressureSetpointTC1();
				return basicGetPressureSetpointTC1();
			case GenerationDynamicsPackage.BWR_STEAM_SUPPLY__PRESSURE_SETPOINT_TC2:
				if (resolve) return getPressureSetpointTC2();
				return basicGetPressureSetpointTC2();
			case GenerationDynamicsPackage.BWR_STEAM_SUPPLY__PROPORTIONAL_GAIN:
				if (resolve) return getProportionalGain();
				return basicGetProportionalGain();
			case GenerationDynamicsPackage.BWR_STEAM_SUPPLY__RF_AUX1:
				if (resolve) return getRfAux1();
				return basicGetRfAux1();
			case GenerationDynamicsPackage.BWR_STEAM_SUPPLY__RF_AUX2:
				if (resolve) return getRfAux2();
				return basicGetRfAux2();
			case GenerationDynamicsPackage.BWR_STEAM_SUPPLY__RF_AUX3:
				if (resolve) return getRfAux3();
				return basicGetRfAux3();
			case GenerationDynamicsPackage.BWR_STEAM_SUPPLY__RF_AUX4:
				if (resolve) return getRfAux4();
				return basicGetRfAux4();
			case GenerationDynamicsPackage.BWR_STEAM_SUPPLY__RF_AUX5:
				if (resolve) return getRfAux5();
				return basicGetRfAux5();
			case GenerationDynamicsPackage.BWR_STEAM_SUPPLY__RF_AUX6:
				if (resolve) return getRfAux6();
				return basicGetRfAux6();
			case GenerationDynamicsPackage.BWR_STEAM_SUPPLY__RF_AUX7:
				if (resolve) return getRfAux7();
				return basicGetRfAux7();
			case GenerationDynamicsPackage.BWR_STEAM_SUPPLY__RF_AUX8:
				if (resolve) return getRfAux8();
				return basicGetRfAux8();
			case GenerationDynamicsPackage.BWR_STEAM_SUPPLY__ROD_PATTERN:
				if (resolve) return getRodPattern();
				return basicGetRodPattern();
			case GenerationDynamicsPackage.BWR_STEAM_SUPPLY__ROD_PATTERN_CONSTANT:
				if (resolve) return getRodPatternConstant();
				return basicGetRodPatternConstant();
			case GenerationDynamicsPackage.BWR_STEAM_SUPPLY__UPPER_LIMIT:
				if (resolve) return getUpperLimit();
				return basicGetUpperLimit();
		}
		return super.eGet(featureID, resolve, coreType);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public void eSet(int featureID, Object newValue) {
		switch (featureID) {
			case GenerationDynamicsPackage.BWR_STEAM_SUPPLY__HIGH_POWER_LIMIT:
				setHighPowerLimit((PU)newValue);
				return;
			case GenerationDynamicsPackage.BWR_STEAM_SUPPLY__IN_CORE_THERMAL_TC:
				setInCoreThermalTC((Seconds)newValue);
				return;
			case GenerationDynamicsPackage.BWR_STEAM_SUPPLY__INTEGRAL_GAIN:
				setIntegralGain((EA_Model.IEC61970.Domain.Float)newValue);
				return;
			case GenerationDynamicsPackage.BWR_STEAM_SUPPLY__LOWER_LIMIT:
				setLowerLimit((PU)newValue);
				return;
			case GenerationDynamicsPackage.BWR_STEAM_SUPPLY__LOW_POWER_LIMIT:
				setLowPowerLimit((PU)newValue);
				return;
			case GenerationDynamicsPackage.BWR_STEAM_SUPPLY__PRESSURE_LIMIT:
				setPressureLimit((PU)newValue);
				return;
			case GenerationDynamicsPackage.BWR_STEAM_SUPPLY__PRESSURE_SETPOINT_GA:
				setPressureSetpointGA((EA_Model.IEC61970.Domain.Float)newValue);
				return;
			case GenerationDynamicsPackage.BWR_STEAM_SUPPLY__PRESSURE_SETPOINT_TC1:
				setPressureSetpointTC1((Seconds)newValue);
				return;
			case GenerationDynamicsPackage.BWR_STEAM_SUPPLY__PRESSURE_SETPOINT_TC2:
				setPressureSetpointTC2((Seconds)newValue);
				return;
			case GenerationDynamicsPackage.BWR_STEAM_SUPPLY__PROPORTIONAL_GAIN:
				setProportionalGain((EA_Model.IEC61970.Domain.Float)newValue);
				return;
			case GenerationDynamicsPackage.BWR_STEAM_SUPPLY__RF_AUX1:
				setRfAux1((PU)newValue);
				return;
			case GenerationDynamicsPackage.BWR_STEAM_SUPPLY__RF_AUX2:
				setRfAux2((PU)newValue);
				return;
			case GenerationDynamicsPackage.BWR_STEAM_SUPPLY__RF_AUX3:
				setRfAux3((PU)newValue);
				return;
			case GenerationDynamicsPackage.BWR_STEAM_SUPPLY__RF_AUX4:
				setRfAux4((PU)newValue);
				return;
			case GenerationDynamicsPackage.BWR_STEAM_SUPPLY__RF_AUX5:
				setRfAux5((PU)newValue);
				return;
			case GenerationDynamicsPackage.BWR_STEAM_SUPPLY__RF_AUX6:
				setRfAux6((PU)newValue);
				return;
			case GenerationDynamicsPackage.BWR_STEAM_SUPPLY__RF_AUX7:
				setRfAux7((PU)newValue);
				return;
			case GenerationDynamicsPackage.BWR_STEAM_SUPPLY__RF_AUX8:
				setRfAux8((PU)newValue);
				return;
			case GenerationDynamicsPackage.BWR_STEAM_SUPPLY__ROD_PATTERN:
				setRodPattern((PU)newValue);
				return;
			case GenerationDynamicsPackage.BWR_STEAM_SUPPLY__ROD_PATTERN_CONSTANT:
				setRodPatternConstant((EA_Model.IEC61970.Domain.Float)newValue);
				return;
			case GenerationDynamicsPackage.BWR_STEAM_SUPPLY__UPPER_LIMIT:
				setUpperLimit((PU)newValue);
				return;
		}
		super.eSet(featureID, newValue);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public void eUnset(int featureID) {
		switch (featureID) {
			case GenerationDynamicsPackage.BWR_STEAM_SUPPLY__HIGH_POWER_LIMIT:
				setHighPowerLimit((PU)null);
				return;
			case GenerationDynamicsPackage.BWR_STEAM_SUPPLY__IN_CORE_THERMAL_TC:
				setInCoreThermalTC((Seconds)null);
				return;
			case GenerationDynamicsPackage.BWR_STEAM_SUPPLY__INTEGRAL_GAIN:
				setIntegralGain((EA_Model.IEC61970.Domain.Float)null);
				return;
			case GenerationDynamicsPackage.BWR_STEAM_SUPPLY__LOWER_LIMIT:
				setLowerLimit((PU)null);
				return;
			case GenerationDynamicsPackage.BWR_STEAM_SUPPLY__LOW_POWER_LIMIT:
				setLowPowerLimit((PU)null);
				return;
			case GenerationDynamicsPackage.BWR_STEAM_SUPPLY__PRESSURE_LIMIT:
				setPressureLimit((PU)null);
				return;
			case GenerationDynamicsPackage.BWR_STEAM_SUPPLY__PRESSURE_SETPOINT_GA:
				setPressureSetpointGA((EA_Model.IEC61970.Domain.Float)null);
				return;
			case GenerationDynamicsPackage.BWR_STEAM_SUPPLY__PRESSURE_SETPOINT_TC1:
				setPressureSetpointTC1((Seconds)null);
				return;
			case GenerationDynamicsPackage.BWR_STEAM_SUPPLY__PRESSURE_SETPOINT_TC2:
				setPressureSetpointTC2((Seconds)null);
				return;
			case GenerationDynamicsPackage.BWR_STEAM_SUPPLY__PROPORTIONAL_GAIN:
				setProportionalGain((EA_Model.IEC61970.Domain.Float)null);
				return;
			case GenerationDynamicsPackage.BWR_STEAM_SUPPLY__RF_AUX1:
				setRfAux1((PU)null);
				return;
			case GenerationDynamicsPackage.BWR_STEAM_SUPPLY__RF_AUX2:
				setRfAux2((PU)null);
				return;
			case GenerationDynamicsPackage.BWR_STEAM_SUPPLY__RF_AUX3:
				setRfAux3((PU)null);
				return;
			case GenerationDynamicsPackage.BWR_STEAM_SUPPLY__RF_AUX4:
				setRfAux4((PU)null);
				return;
			case GenerationDynamicsPackage.BWR_STEAM_SUPPLY__RF_AUX5:
				setRfAux5((PU)null);
				return;
			case GenerationDynamicsPackage.BWR_STEAM_SUPPLY__RF_AUX6:
				setRfAux6((PU)null);
				return;
			case GenerationDynamicsPackage.BWR_STEAM_SUPPLY__RF_AUX7:
				setRfAux7((PU)null);
				return;
			case GenerationDynamicsPackage.BWR_STEAM_SUPPLY__RF_AUX8:
				setRfAux8((PU)null);
				return;
			case GenerationDynamicsPackage.BWR_STEAM_SUPPLY__ROD_PATTERN:
				setRodPattern((PU)null);
				return;
			case GenerationDynamicsPackage.BWR_STEAM_SUPPLY__ROD_PATTERN_CONSTANT:
				setRodPatternConstant((EA_Model.IEC61970.Domain.Float)null);
				return;
			case GenerationDynamicsPackage.BWR_STEAM_SUPPLY__UPPER_LIMIT:
				setUpperLimit((PU)null);
				return;
		}
		super.eUnset(featureID);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public boolean eIsSet(int featureID) {
		switch (featureID) {
			case GenerationDynamicsPackage.BWR_STEAM_SUPPLY__HIGH_POWER_LIMIT:
				return highPowerLimit != null;
			case GenerationDynamicsPackage.BWR_STEAM_SUPPLY__IN_CORE_THERMAL_TC:
				return inCoreThermalTC != null;
			case GenerationDynamicsPackage.BWR_STEAM_SUPPLY__INTEGRAL_GAIN:
				return integralGain != null;
			case GenerationDynamicsPackage.BWR_STEAM_SUPPLY__LOWER_LIMIT:
				return lowerLimit != null;
			case GenerationDynamicsPackage.BWR_STEAM_SUPPLY__LOW_POWER_LIMIT:
				return lowPowerLimit != null;
			case GenerationDynamicsPackage.BWR_STEAM_SUPPLY__PRESSURE_LIMIT:
				return pressureLimit != null;
			case GenerationDynamicsPackage.BWR_STEAM_SUPPLY__PRESSURE_SETPOINT_GA:
				return pressureSetpointGA != null;
			case GenerationDynamicsPackage.BWR_STEAM_SUPPLY__PRESSURE_SETPOINT_TC1:
				return pressureSetpointTC1 != null;
			case GenerationDynamicsPackage.BWR_STEAM_SUPPLY__PRESSURE_SETPOINT_TC2:
				return pressureSetpointTC2 != null;
			case GenerationDynamicsPackage.BWR_STEAM_SUPPLY__PROPORTIONAL_GAIN:
				return proportionalGain != null;
			case GenerationDynamicsPackage.BWR_STEAM_SUPPLY__RF_AUX1:
				return rfAux1 != null;
			case GenerationDynamicsPackage.BWR_STEAM_SUPPLY__RF_AUX2:
				return rfAux2 != null;
			case GenerationDynamicsPackage.BWR_STEAM_SUPPLY__RF_AUX3:
				return rfAux3 != null;
			case GenerationDynamicsPackage.BWR_STEAM_SUPPLY__RF_AUX4:
				return rfAux4 != null;
			case GenerationDynamicsPackage.BWR_STEAM_SUPPLY__RF_AUX5:
				return rfAux5 != null;
			case GenerationDynamicsPackage.BWR_STEAM_SUPPLY__RF_AUX6:
				return rfAux6 != null;
			case GenerationDynamicsPackage.BWR_STEAM_SUPPLY__RF_AUX7:
				return rfAux7 != null;
			case GenerationDynamicsPackage.BWR_STEAM_SUPPLY__RF_AUX8:
				return rfAux8 != null;
			case GenerationDynamicsPackage.BWR_STEAM_SUPPLY__ROD_PATTERN:
				return rodPattern != null;
			case GenerationDynamicsPackage.BWR_STEAM_SUPPLY__ROD_PATTERN_CONSTANT:
				return rodPatternConstant != null;
			case GenerationDynamicsPackage.BWR_STEAM_SUPPLY__UPPER_LIMIT:
				return upperLimit != null;
		}
		return super.eIsSet(featureID);
	}

} //BWRSteamSupplyImpl
